package com.ibiaoke.marketing.service;

import com.ibiaoke.marketing.entity.CouponReceive;
import com.ibiaoke.marketing.entity.vo.CouponReceiveVO;

import java.math.BigDecimal;
import java.util.List;

/**
 * Created by huhaichao on 2017/6/14.
 */
public interface CouponReceiveService {

    List<CouponReceive> listCouponReceive(Integer customerId, BigDecimal fullPrice, String goodsIds);

    List<CouponReceive> listCouponReceiveByType(Integer customerId, Integer type);

    int receiveCoupon(int userId, int couponId);

    int receiveCouponNonCountLimit(int userId, String couponGroup);

    int receiveCouponWithBusiness(int userId, int couponId, String businessType, int businessId);

    void receiveRegCoupon(Integer customerId);

    CouponReceive getCouponReceive(Integer couponReceiveId);

    CouponReceive useCouponReceive(Integer couponReceiveId, BigDecimal price);

    int releaseCoupon(Integer couponReceiveId);

    List<CouponReceiveVO> convert(List<CouponReceive> couponReceives);

    Long countUnusedCouponReceive(Integer customerId);
}
